@@ -67,22 +67,27 @@ module Agents |
||
67 | 67 |
options['expected_update_period_in_days'].present? |
68 | 68 |
errors.add(:base, "username and expected_update_period_in_days are required") |
69 | 69 |
end |
70 |
+ |
|
71 |
+ if options[:include_retweets].present? && |
|
72 |
+ !(!!options[:include_retweets] === true || !!options[:include_retweets] === false) |
|
73 |
+ errors.add(:base, "include_retweets must be a boolean (true/false)") |
|
74 |
+ end |
|
75 |
+ |
|
76 |
+ if options[:starting_at].present? |
|
77 |
+ Time.parse(options[:starting_at]) rescue errors.add(:base, "Error parsing starting_at") |
|
78 |
+ end |
|
70 | 79 |
end |
71 | 80 |
|
72 | 81 |
def starting_at |
73 | 82 |
if options[:starting_at].present? |
74 |
- Time.parse(options[:starting_at]) |
|
83 |
+ Time.parse(options[:starting_at]) rescue created_at |
|
75 | 84 |
else |
76 | 85 |
created_at |
77 | 86 |
end |
78 | 87 |
end |
79 | 88 |
|
80 | 89 |
def include_retweets? |
81 |
- if options[:include_retweets].present? |
|
82 |
- !!options[:include_retweets] |
|
83 |
- else |
|
84 |
- true |
|
85 |
- end |
|
90 |
+ options[:include_retweets] != false |
|
86 | 91 |
end |
87 | 92 |
|
88 | 93 |
def check |
@@ -8,7 +8,7 @@ describe Agents::TwitterUserAgent do |
||
8 | 8 |
@opts = { |
9 | 9 |
:username => "tectonic", |
10 | 10 |
:expected_update_period_in_days => "2", |
11 |
- :starting_at => "Jan 01 00:00:01 +0000 2014", |
|
11 |
+ :starting_at => "Jan 01 00:00:01 +0000 2000", |
|
12 | 12 |
:consumer_key => "---", |
13 | 13 |
:consumer_secret => "---", |
14 | 14 |
:oauth_token => "---", |
@@ -26,4 +26,16 @@ describe Agents::TwitterUserAgent do |
||
26 | 26 |
end |
27 | 27 |
end |
28 | 28 |
|
29 |
+ describe "#check with starting_at=future date" do |
|
30 |
+ it "should check for changes starting_at a future date, thus not find any" do |
|
31 |
+ opts = @opts.merge({ :starting_at => "Jan 01 00:00:01 +0000 2999", }) |
|
32 |
+ |
|
33 |
+ checker = Agents::TwitterUserAgent.new(:name => "tectonic", :options => opts) |
|
34 |
+ checker.user = users(:bob) |
|
35 |
+ checker.save! |
|
36 |
+ |
|
37 |
+ lambda { checker.check }.should change { Event.count }.by(0) |
|
38 |
+ end |
|
39 |
+ end |
|
40 |
+ |
|
29 | 41 |
end |